package com.yeren.list.arrayList;
import java.util.ArrayList;
import java.util.List;
/**
 * 获取子集 subList
 * @author Administrator
 */
public class SubListDemo {
	public static void main(String[] args) {
		List<Integer> list=new ArrayList<Integer>();
		//[0,1,2,3,4,5,6,7,8,9]
		for(int i=0;i<10;i++){
			list.add(i);
		}
		/*
		 * 1.List的subList方法用于获取List
		 * 2.需要注意的是：subList获取的List与原List占有相同的存储空间，对子List的
		 *   操作会影响原List。
		 * subList(int fromIndex,int toIndex)
		 * 获取给定范围的子集，注意同样是含头不含尾
		 */
		List<Integer> subList=list.subList(3, 8);
		System.out.println(list);//[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
		System.out.println(subList);//[3, 4, 5, 6, 7]
		
		//对子集中每个元素扩大10倍
		for(int i=0;i<subList.size();i++){
			int num=subList.get(i);
			num=num*10;
			subList.set(i, num);
		}
		/*
		 * 当我们通过子集修改，会影响原有集合
		 */
		System.out.println(subList);//[30, 40, 50, 60, 70]
		System.out.println(list);//[0, 1, 2, 30, 40, 50, 60, 70, 8, 9]
	}
}
